package Service;

import org.springframework.stereotype.Service;
import pojo.admin;
import pojo.playground;
import pojo.room;
import pojo.stadium;

import java.util.List;


public interface adminService {

    /* 登陆
    @param vxId 微信号
    @param password 密码
    @return 成功返回true 失败false
     */
    public boolean loginIn(String vxId,String password);


    /* 查询管理员信息
    @param 教职工id
    @return 返回实体类
     */
    public admin queryAdminByID(String adminID);


    /* 注册
    @param vxId 微信号 name 名字 password 密码
    @return 返回影响的行数[图片]
     */
    public int register(String vxId,String name,String password);


    /* 查询所管理的场馆信息
    @param vxId 微信号
    @return 返回管理的场馆信息
     */
    public List<stadium> queryForStadiums(String vxId);



    /* 查询场地信息
    @param stadiumId 场馆ID
    @return 返回管理的场地信息
     */
    public List<playground> queryForPlaygrounds(Long stadium);


    /* 通过场馆的名字查询场馆
    @param stadiumName 场馆名字
    @return 返回场馆实体类
     */
    public List<stadium> queryStadiumBYName(String stadiumName);





    /* 创建场馆
    @param manager 管理者id
    @param stadiumName 体育馆名字
    @param location 场地位置
    @param opentime 开始时间
    @param closetime 结束时间
    @param sports_id 能举办的运动信息
    @param category 体育馆的类型
    @return 成功1 否则-1
     */
    public int addStadium(String managerId,String stadiumName,String location,int opentime,int closetime,String sportsId,String category,String display);
    /*删除场馆
    @param stadiumId 体育馆id
    @return 成功返回影响的行数 否则返回-1
     */
    public int deleteStadium(Long stadiumId);



        /*改变场馆的状态
     @param 与创建的时候一样
     @return 返回影响的行数 -1表示失败
     */
        public int updateStadium(Long stadium_id,String managerId,String stadiumName,String location,int opentime,int closetime,String sportsId,String category,String display);



     /*创建场地
     @param price 价格
     @param name 场地名字
     @param display 显示
     @param stadiumId 所属体育馆id
     @param sport_id 运动类别
     @成功返回影响的行数 否则返回-1

      */
     public int addPlayground(String playgroundName,String sport_id,float price,String display,Long stadiumId);

    /*删除场地
   @param playground 场地id stadiumId 体育馆id
   @return 成功返回影响的行数 否则返回-1
    */
    public int deletePlayground(Long playgroundId, Long stadiumId);



    /*改变场地的状态
    @param display 上架或者下架
    @param playgroundName 名字
    @param price 价格
    @param sport_id 运动类别
    @param playgroundId 场地Id
    @return 返回影响行数 失败返回-1
     */
    public int updatePlayground(String display, String playgroundName, float price, String sport_id, Long playgroundId);






    /*根据日期查询房间订单
    @param date 日期
    @return 房间列表
     */
    public List<room>  queryRoomByDate(String date);



    /*查询房间信息
  @return 返回所有的房间列表
   */
    public List<room> queryRoom(String Id);



    /*查询日期段的房间信息
    @return 返回房间列表
     */
    public List<room> queryRoomByPeriod(String startTime,String Id);






    /*根据房间状态来选择房间订单
    @param roomstate
    @return 返回满足条件的房间列表
     */
    public List<room> queryRoomByRoomState(int roomstate,String Id);


   /*根据场馆的名字来选择房间订单
   @param stadiumName 体育馆名字
   @return 返回满足条件的房间列表
    */

    public List<room> queryRoomByStadiumName(String stadiumName);


    /*通过房间id查询房间订单
    @param roomId 房间序号
    @return 返回满足条件的房间列表
     */
    public room queryRoomById(Long roomId);

}
